1. Technical Field
The present invention relates in general to the field of data processing systems, and in particular, to the field of updating data processing systems. Still more particularly, the present invention relates to a system and method for applying a destructive firmware update.
2. Description of the Related Art
Currently, many data processing systems that are utilized as web servers are multiprocessor data processing systems (MPs). These MPs include “service processors” that are utilized to perform many tasks that affect the MP as a whole, such as, for example, monitoring the temperature of the MP so that an exhaust fan may be turned on and off at appropriate times. The service processor may also monitor other resources within the MP shared by the many different host operating systems that may be executing on the system.
During a system boot process, an ordered, software-controlled transition of states occurs within the MP hardware. During each state, MP hardware may execute initialization procedures indicated in firmware to reach a desired configuration at the end of the boot process. As is well-known in the art, there is occasionally a need to make firmware updates to the service processor to obtain new MP configurations, as discussed below in conjunction with FIG. 1. These firmware updates may happen frequently and affect MP productivity in the event the firmware update includes “destructive operations”. Destructive operations are operations that, when executed on MP hardware, cause that hardware to be taken offline (rebooted). If the update does not include destructive operations, the update can be applied and act on the hardware in a running system immediately. If the update includes destructive operations, the MP must be rebooted to execute the firmware update.
Referring to FIG. 1, there is illustrated a high-level logical flowchart depicting a firmware update on a MP according to the prior art. The process begins at step 100 and continues to step 102, which illustrates a MP beginning a boot process. The process proceeds to step 104, which depicts a service processor in the MP executing a first firmware setting. The firmware setting acts on the hardware within the MP in a first manner, as shown in step 106. For example, the first firmware setting may set a first set of temperature thresholds to determine when to activate and deactivate an exhaust fan. The process continues to step 108, which illustrates the MP completing the boot process. Shown in step 109, the service processor within the MP is updated to a second firmware setting, which acts on the MP hardware in a second, different manner. The process continues to step 110, which illustrates the MP rebooting after the firmware update. The process proceeds to step 112, which depicts the second firmware setting acting on the MP hardware in a second manner following reboot. For example, the second firmware setting may set a second set of temperature thresholds to determine when to activate and deactivate an exhaust fan. The MP completes the reboot, as shown in step 114, and the process ends, as illustrated in step 116.
Rebooting an entire MP to complete a firmware update is a costly endeavor, both in time lost and reduced productivity. Therefore, there is a need for a system and method for applying a destructive firmware update in a non-destructive manner to address the limitations of the prior art.